Feststellen, welche Zellen markiert worden sind
Den kompletten Code der Beispiele in diesem Abschnitt enthält die Datei "Auswahl.xls". |
Angenommen, Ihr Benutzer soll mit der Maus eine Gruppe von Zellen markieren, und dann soll ihr VBA-Programm damit arbeiten. Dann müssen Sie zunächst feststellen, welche Zellen markiert worden sind. Dafür bietet sich die "Auswahl"-Eigenschaft an.
Ein Bereich
Markieren Sie zunächst mit Maus oder Tastatur einige Zellen in Tabelle1 der Datei "AUSWAHL.XLS" im Verzeichnis "Beispiel".
Drücken Sie dann den Schaltknopf "EinBereich".
Das Programm zeigt Ihnen in einem Dialog die Koordinaten der ausgewählten Zellen.
Hier ist der Code dieses Beispiel-Programmes:
Sub AuswahlFeststellen_EinBereich() Set EinBereich = ActiveWindow.Selection MsgBox EinBereich.Address End Sub
Mehrere Bereiche
Unser kleines VBA-Programm funktioniert nicht, wenn Sie mehrere Bereiche markiert haben. Die "Address"-Methode versagt in diesem Fall. Wir müssen jede der markierten Flächen ("Areas") der Reihe nach betrachten:
Sub AuswahlFeststellen_MehrereBereiche() For Each EinBereich In ActiveWindow.Selection.Areas MsgBox EinBereich.Address(External:=True) Next End Sub
Jede Auswahl hat die Eigenschaft "Areas" (deutsch "Flächeliste"); diese gibt eine Zahl zurück, die Zahl der unabhängigen Teile einer Auswahl mehrerer Zellbereiche auf einmal. In den Anweisungen
Sub AuswahlFeststellen_MehrereBereiche() For Each EinBereich In ActiveWindow.Selection.Areas MsgBox EinBereich.Address(External:=True) Next End Sub
arbeiten wir Fläche nach Fläche aus der Flächeliste durch. Der Objektvariablen "EinBereich" wird bei jedem Durchlauf eine Fläche als Objekt zugewiesen. Mithilfe der "Address"-Methode werden die Koordinaten jeder Fläche ausgegeben.
DIE SELECTION-EIGENSCHAFT
Gibt das gegenwärtig ausgewählte Objekt im aktiven Fenster des Objekts "Application" ("Anwendung") oder die aktuelle Auswahl des angegebenen Objekts "Window" ("Fenster") zurück. Nur-Lese-Zugriff.
Syntax
Objekt.Selection
Elemente
Objekt Optional für das Objekt "Application". Erforderlich für das Objekt "Window". Steht als Platzhalter des Objekts, das die Auswahl enthält.
Anmerkungen
Der von der Selection-Eigenschaft zurückgegebene Objekttyp hängt von der Art der Auswahl ab (wenn z.B. in einem Dialogfeld ein Textfeld ausgewählt ist, gibt diese Eigenschaft ein Textfeld-Objekt zurück). Die Selection-Eigenschaft gibt "Nothing" zurück, wenn nichts ausgewählt wurde.
DIE AREAS-EIGENSCHAFT
Gibt einen einzelnen Bereich (ein "Range"-Objekt, Syntax 1)oder eine Auflistung aller Bereiche (ein "Areas"-Objekt, Syntax 2) in einer Mehrfachauswahl zurück.
Syntax 1
Objekt.Areas(Index)
Syntax 2
Objekt.Areas
Elemente
Objekt Erforderlich. Steht als Platzhalter des Bereichs der Mehrfachauswahl.
Index Erforderlich für Syntax 1. Steht als Platzhalter der Nummer des Bereichs innerhalb der Mehrfachauswahl.
Anmerkungen
Bei einer einfachen Auswahl gibt die Areas-Methode eine Auflistung eines
Objekts (das ursprüngliche Bereichs-Objekt) zurück. Bei einer Mehrfachauswahl
gibt die Areas-Methode eine Auflistung zurück, die jeweils ein Objekt für jede
Auswahl enthält.
Copyright © by JOANNEUM RESEARCH Forschungsgesellschaft mbH |